package com.spic.business.violation.supervision.information.mapper;

import java.util.HashMap;
import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.spic.business.violation.supervision.action.domain.ViolationActionInput;
import com.spic.business.violation.supervision.information.domain.ViolationInformation;

/**
 * 违章举报Mapper接口
 *
 * @author spic
 * @date 2021-10-14
 */
public interface ViolationInformationMapper extends BaseMapper<ViolationInformation>
{
    /**
     * 查询违章举报
     *
     * @param id 违章举报主键
     * @return 违章举报
     */
    public ViolationInformation selectViolationInformationById(Long id);

    /**
     * 查询违章举报列表
     *
     * @param violationInformation 违章举报
     * @return 违章举报集合
     */
    public List<ViolationInformation> selectViolationInformationList(ViolationInformation violationInformation);

    /**
     * 新增违章举报
     *
     * @param violationInformation 违章举报
     * @return 结果
     */
    public int insertViolationInformation(ViolationInformation violationInformation);

    /**
     * 修改违章举报
     *
     * @param violationInformation 违章举报
     * @return 结果
     */
    public int updateViolationInformation(ViolationInformation violationInformation);

    /**
     * 删除违章举报
     *
     * @param id 违章举报主键
     * @return 结果
     */
    public int deleteViolationInformationById(Long id);

    /**
     * 批量删除违章举报
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteViolationInformationByIds(Long[] ids);
    List<HashMap<String, Object>> getillegalSourceCount(ViolationInformation violationInformation);
    List<HashMap<String, Object>> getillegalTypeCount(ViolationInformation violationInformation);
    List<HashMap<String, Object>> getillegalAreaCount(ViolationInformation violationInformation);

    List<ViolationInformation> selectViolationInformImage();

    Integer allCount();

    List<ViolationInformation> selectViolationInformationListWithOutDataPermission(ViolationInformation violationInformation);
}
